import React, { Component } from 'react'
import axios from 'axios';
import PubSub from 'pubsub-js'

export default class Search extends Component {
  search = () => {
    // 获取用户的输入（连续解构赋值+重命名）
    const { keyWordElement: {value: keyWord} } = this
    // 发送请求前通知List更新状态
    PubSub.publish('stateObj', {isFirst: false, isLoading: true});

    axios.get(`/api1/j/search_subjects?type=tv&tag=${encodeURI(keyWord)}&page_limit=50&page_start=0`).then((res) => {
      // 请求发送后通知List更新状态
      let {data:{subjects: users}} = res
      PubSub.publish('stateObj', { isLoading: false, users})
    }, err => {
      // 请求失败后通知List更新状态
      PubSub.publish('stateObj', { isLoading: false, err})
    })
  }
  render() {
    return (
      <section className='jumbotron'>
        <h3 className='jumbotron-heading'>搜索github用户</h3>
        <div>
          <input ref={ c => this.keyWordElement = c } type="text" placeholder="输入关键词点击搜索" />
          <button onClick={this.search}>搜索</button>
        </div>
      </section>
    )
  }
}
